PL/SQL একটি শক্তিশালী প্রোগ্রামিং ভাষা যা object-oriented programming (OOP) ধারণাগুলিকে সমর্থন করে। Oracle Database-এ Object-Oriented PL/SQL ব্যবহার করে আপনি Object Types তৈরি করতে পারেন, যার মধ্যে attributes (বৈশিষ্ট্য) এবং methods (পদ্ধতি) থাকে। এটি OOP এর মূল ধারণা ব্যবহার করে ডেটাবেসের ভিতরে অবজেক্ট মডেল তৈরি করতে সাহায্য করে।
Object Types হল একটি ডেটা টাইপ যা একটি অবজেক্টের বৈশিষ্ট্য এবং আচরণ (অথবা attributes এবং methods) ধারণ করে। একটি object type তৈরি করতে, আপনাকে দুটি প্রধান অংশ তৈরি করতে হয়:
Object Type সাধারণত attributes এবং methods এর সমন্বয়ে গঠিত।
Object Attributes হল সেই ডেটা ফিল্ড বা ভ্যালু যা একটি অবজেক্টে সংরক্ষিত থাকে। এটি সাধারণত variables বা fields হিসেবেও পরিচিত, যা অবজেক্টের প্রতিটি instance-এ থাকতে পারে।
ধরা যাক, আপনি একটি Person
নামক অবজেক্ট তৈরি করতে চান, যার দুটি attribute থাকবে: name
এবং age
।
CREATE OR REPLACE TYPE person AS OBJECT (
name VARCHAR2(50),
age NUMBER
);
এখানে person
অবজেক্টের দুটি attribute আছে: name
এবং age
।
এটি অবজেক্টের কোনো methods বা functionality নির্ধারণ করে।
CREATE OR REPLACE TYPE BODY person AS
MEMBER FUNCTION display_info RETURN VARCHAR2 IS
BEGIN
RETURN 'Name: ' || name || ', Age: ' || age;
END display_info;
END;
এখানে, display_info
একটি method যা person
অবজেক্টের attributes name
এবং age
ব্যবহার করে একটি স্ট্রিং আউটপুট প্রদান করবে।
Methods হল অবজেক্টের আচরণ বা কার্যকলাপ। এটি একটি ফাংশন বা প্রক্রিয়া যা অবজেক্টের attribute বা ভ্যালুর সাথে কাজ করে এবং সাধারণত একটি নির্দিষ্ট কাজ সম্পাদন করে। PL/SQL-এ methods কে member functions হিসেবে ডিফাইন করা হয়, যা অবজেক্টের attribute বা অন্যান্য ডেটার সাথে কাজ করে।
আমরা উপরে যে person
অবজেক্টটি তৈরি করেছি, সেখানে একটি display_info
method আছে, যা অবজেক্টের name এবং age attribute এর মান প্রদর্শন করবে।
CREATE OR REPLACE TYPE BODY person AS
MEMBER FUNCTION display_info RETURN VARCHAR2 IS
BEGIN
RETURN 'Name: ' || name || ', Age: ' || age;
END display_info;
END;
এখানে, display_info
হল একটি method যা name
এবং age
attribute থেকে তথ্য সংগ্রহ করে এবং একটি স্ট্রিং রিটার্ন করে।
PL/SQL object methods এ parameters পাঠানো যেতে পারে, এবং তা object-এ stored data বা attributes-এর ভিত্তিতে বিভিন্ন কার্যকলাপ সম্পাদন করতে ব্যবহার করা যায়।
CREATE OR REPLACE TYPE person AS OBJECT (
name VARCHAR2(50),
age NUMBER,
MEMBER FUNCTION greet (greeting VARCHAR2) RETURN VARCHAR2
);
এখানে, greet
একটি method যা greeting
নামক parameter গ্রহণ করে এবং সেই greeting-এর সাথে অবজেক্টের name
attribute মিশিয়ে একটি বার্তা রিটার্ন করবে।
CREATE OR REPLACE TYPE BODY person AS
MEMBER FUNCTION greet (greeting VARCHAR2) RETURN VARCHAR2 IS
BEGIN
RETURN greeting || ', ' || name;
END greet;
END;
এখন, আপনি greet
method ব্যবহার করে person
অবজেক্টের name
-এর সাথে একটি custom greeting বার্তা তৈরি করতে পারবেন।
একবার যখন আপনি একটি object type এবং তার attributes এবং methods তৈরি করবেন, তখন সেই object type-এর instance তৈরি করতে পারবেন এবং methods ব্যবহার করতে পারবেন।
DECLARE
p person;
result VARCHAR2(100);
BEGIN
-- Create an instance of the person object
p := person('John Doe', 30);
-- Call the display_info method
result := p.display_info;
-- Print result
DBMS_OUTPUT.PUT_LINE(result); -- Output: Name: John Doe, Age: 30
-- Call the greet method
result := p.greet('Hello');
-- Print result
DBMS_OUTPUT.PUT_LINE(result); -- Output: Hello, John Doe
END;
এখানে:
p
একটি person
অবজেক্টের instance।p.display_info
method অবজেক্টের name
এবং age
attribute এর মান প্রদর্শন করবে।p.greet
method ব্যবহারকারী-প্রদত্ত greeting
সহ name
-এর মান রিটার্ন করবে।Object-Oriented PL/SQL ব্যবহার করে আপনি শক্তিশালী, পুনঃব্যবহারযোগ্য এবং মডুলার কোড তৈরি করতে পারেন যা ডেটাবেসের ভিতরে বাস্তব বিশ্বে ব্যবহৃত বস্তুসমূহের প্রতিনিধিত্ব করে। Attributes এবং Methods হল এই কোডের দুটি প্রধান অংশ, যা অবজেক্টের গঠন এবং তার আচরণ নির্ধারণ করে। PL/SQL-এর মাধ্যমে OOP পদ্ধতি ব্যবহার করার ফলে আপনি আরও উন্নত এবং নমনীয় ডেটাবেস অ্যাপ্লিকেশন তৈরি করতে পারবেন।
Read more